Notas para desplegar la app con una configuracion básica en servidor web nginx con el protocolo uwsgi.

https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04

Prerequisitos
=============

 * Esta prueba se ha realizado sobre Trisquel GNU/Linux 7.0 y NGINX instalado.
 * Se asume que el directorio de localizacion de la app es /srv/botadero/
 * Para poder ejecutar la app y permitir comunicar uwsgi con NGINX se debe
   instalar python-virtualenv y tener instalado python-pip
 * Para poder ejecutar la app se debe instalar los paquetes listados en
   Docu/pip_install.txt con:
   
     pip install paquetes

 * Copiar la carpeta del proyecto botadero en el directorio /srv/botadero
 * Cambiar el usuario y grupo
     
     chown -R www-data:www-data /srv/botadero

botadero.ini
============

  En el repositorio se incluye el archivo botadero.ini para uwsgi.

botadero.conf
=============

  Este es un script para upstart usado en distribuciones basadas en ubuntu con
  upstart, esto para ejecutar la app al inicio del sistema

  El archivo deberia guardarse en /etc/init/botadero.conf y su contenido por
  ejemplo:

   description "uWSGI instancia del servidor app botadero"

   start on runlevel [2345]
   stop on runlevel [!2345]

   setuid www-data
   setgid www-data

   env PATH=/srv/botadero/venv/bin
   chdir /srv/botadero
   exec uwsgi --ini botadero.ini  

  Una vez guardado el archivo para probar la app se debe iniciar el script con:

   sudo start botadero

NGINX config
============

  Asumiendo que se creara otro virtualhost en nginx para la app se puede crear
  un nuevo archivo en /etc/nginx/sites-available/botadero con contenido:

   server{
	#listen puerto;
	listen 80;
	server_name dominio_del_server_o_IP;
	
	# permite la subida de archivos de hasta 5000 MB
	client_max_body_size 5000M; 

	location / {
		 include uwsgi_params;
		 uwsgi_pass unix:/srv/botadero/botadero.sock;
	}
   }

  Luego de guardar el archivo enlazarlo:

   sudo ln -s /etc/nginx/sites-available/botadero /etc/nginx/sites-enabled

  Para probar el configs en NGINX:

   sudo nginx -t

  Si funciona reiniciar nginx

   sudo service nginx restart

Probar la app
=============

  La app deberia ser visible cuando alguien entre al servidor y también al 
  probarla desde un navegador en el dominio o IP y puerto especificada en la
  configuración de nginx arriba.


